package com.xteam.xnetworkdisk.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xteam.xnetworkdisk.sys.entity.UserEntity;
import com.xteam.xnetworkdisk.utils.PageUtils;
import com.xteam.xnetworkdisk.utils.R;
import com.xteam.xnetworkdisk.vo.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Map;

/**
 * 用户表
 *
 * @author xiaozhiyong
 * @email xiaozhiyong03@gmail.com
 * @date 2024-08-04 15:56:30
 */
public interface UserService extends IService<UserEntity> {


    PageUtils queryPage(Map<String, Object> params);

    R updateAvatar(int userId, MultipartFile avatarFile);

    R getAvatar(Integer userId);

    R register(UserRegisterSendEmailVO sign);

    R verification(UserRegisterVerificationVO userRegisterVerification, HttpServletRequest request);

    Map<String, Object> login(UserLoginVO userLoginVO, HttpSession session);

    R resetPasswordSendeMail(String username);

    R resetPasswordVerify(UserResetPasswordVertifyVO userResetPasswordVertifyVO);

    R modify(UserModifyVO userModifyVO);

    R listPage(UserListPageVO userListPageVO);

    Boolean loginFromANewLocationSendEmail(String email,String newLocation,String name);

    R changeEmail(ChangeEmailVO email);

    R sendEmailResetE(String email);

    R updateBackground(Integer userid, MultipartFile background);

    R getBackground(Integer userid);
}

